--- Example code for 'https://github.com/Frege/frege/issues/47 Issue 47'
module tests.nocomp.Issue47a where

-- originally, the forall type didn't propagate to the top.
-- This should be fixed by now.
with (f::forall 𝖚.[𝖚]->[𝖚]) xs ys = (f xs, f ys)

-- the following must not compile, and give messages:
--      * type error in expression map (+ 1n) type is [Integer] used as [𝖚]
--      * type `Integer` is not as polymorphic as suggested 
--        in the annotation where just `𝖚` is announced.
wrong1 = with (map (1n+)) ['2', '3'] [true, false]

